package br.org.ifrr.controller;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;

import br.org.ifrr.model.Empenho;
import br.org.ifrr.model.Empresa;
import br.org.ifrr.model.TipoEmpenho;
import br.org.ifrr.model.TipoModalidade;
import br.org.ifrr.repository.Empresas;
import br.org.ifrr.service.CadastroEmpenhoService;
import br.org.ifrr.util.jsf.FacesUtil;

@Named
@ViewScoped
public class CadastroEmpenhoBean implements Serializable {

	private static final long serialVersionUID = 1L;

	@Inject
	private CadastroEmpenhoService cadastroEmpenhoService;
	
	@Inject
	private Empresas empresas;

	private Empenho empenho;

	public CadastroEmpenhoBean() {
		limpar();
	}

	private void limpar() {
		empenho = new Empenho();
	}

	public void salvar() {
		this.empenho = cadastroEmpenhoService.salvar(this.empenho);
		limpar();

		FacesUtil.addInfoMessage("Empenho salvo com sucesso.");
	}

	public boolean isEditando() {

		return this.empenho.getId() != null;
	}

	public Empenho getEmpenho() {
		return empenho;
	}

	public void setEmpenho(Empenho empenho) {
		this.empenho = empenho;
	}
	
	public List<Empresa> completarEmpresa(String nome) {
		return this.empresas.porEmpresa(nome);
	}
	

	public TipoEmpenho[] getTipoEmpenhos() {
		return TipoEmpenho.values();
	}
	
	public TipoModalidade[] getTipoModalidade() {
		return TipoModalidade.values();
	}
	

}
